Page({
    data: {
        query: '',
        chats: []
    },

    onChangeQuestion: function(ev) {
        this.data.query = ev.detail
    },

    onAsk: function() {
        var self = this

        self.data.chats.push({
            role: 'user',
            content: self.data.query
        })

        self.setData({
            chats: self.data.chats
        })

        wx.showLoading({
            title: 'AI思考中...',
        })

        wx.request({
            url: 'https://llm.bysoft.net.cn/v1/chat/completions',
            method: 'POST',
            headers: {
                'Authorization': 'ollama',
                'Content-Type': 'application/json'
            },
            data: {
                "model": 'llama3',
                "messages": [{
                    "role": "user",
                    "content": self.prompt()
                }]
            },
            success: (res) => {
                self.data.chats.push(res.data.choices[0].message)

                self.setData({
                    chats: self.data.chats
                })

                wx.hideLoading()
            },

            fail: (res) => {
                wx.hideLoading()

                wx.showToast({
                    title: 'AI思考失败，请重试',
                    icon: 'error',
                    duration: 2000
                })
            }
        })
    },

    prompt: function() {
        var p = "我希望你能充当一名中国医生。我会描述我的症状，然后你会给出诊断和治疗计划。你只需要回复你的诊断和治疗计划，不要写解释。我的第一个建议请求是：“" + this.data.query + "？”"
        return p + "。请用中文回答。"
    }
})
  